草庐IT

TypeScript 模块

全部标签

javascript - JS模块模式覆盖函数

我有以下模式BASE=function(){varthat={};varnumber=10;that.showNumber=function(){that.alertNumber();}that.alertNumber=function(){alert(number);};returnthat;};CHILD=function(){varthat=Object.create(BASE());varsecondNumber=20;//Overridebasefunctionthat.alertNumber=function(){alert(secondNumber);};returnth

javascript - 导入多个 AngularJS 模块的工厂

我想知道是否有一种方法可以将我在AngularJS模块中定义的所有工厂导入到Controller中,而不必将它们全部列出。假设我有一个名为foo.js的文件,其中包含:angular.module("Foo",[]).factory("Bar1",function(){...}).factory("Bar2",function(){...}).factory("Bar3",function(){...}).factory("Bar4",function(){...});现在,在我的controller.js文件中我有:angular.module("myApp.controllers"

javascript - 如何实现一个仅在需要时才修改原始模块的插件?

我有一个扩展原始模块的插件。它应该只在明确需要时修改模块。问题:一旦需要一次,原始模块就会永远被修改,对于插件不是依赖项的情况也是如此。这里的顺序无关紧要,只需要一次插件就足够了。例子:define("main",[],function(){return{opt:"A"};});define("plugin",["main"],function(obj){obj.opt="B";});require(["main","plugin"],function(obj){console.log(obj.opt);//shouldlogB});require(["main"],function(

javascript - 我应该在每个文件中都需要一个模块还是需要一次并将其作为参数传递?

假设我有50个模块,每个模块都需要Underscore库。像那样加载Underscore50次是否更好://amodulevar_=require('underscore');或者最好从主文件传递它://app.jsvar_=require('underscore');require('./app_modules/module1.js')(_);//passing_asargumentrequire('./app_modules/module2.js')(_);//passing_asargumentrequire('./app_modules/module3.js')(_);//pa

javascript - 如何在单元测试之间重置 requirejs 模块

我有一个JavaScript项目,我想观察TDD方法。我为此选择了karma框架和requirejs库,并遵循了karma文档中演示的示例here.有一个单元测试文件的例子,它是:define(['app','jquery','underscore'],function(App,$,_){describe('justchecking',function(){it('worksforapp',function(){varel=$('');varapp=newApp(el);app.render();expect(el.text()).toEqual('require.jsupandrun

javascript - 如何使用 TypeScript 加载 System.js 模块?

我正在尝试让TypeScript与默认的Aurelia框架一起工作,该框架基于System.JS作为加载程序。我无法让TypeScript接受模块导入。我将其中一个骨架文件“nav-bar.js”重命名为“nav-bar.ts”,以查看是否可以将示例转换为TypeScript。该代码导致编译器错误:“错误:(5,24)TS2307:找不到外部模块‘aurelia-framework’。”import{bindable}from"aurelia-framework";exportclassNavBar{//noinspectionES6Validation@bindablerouter=

javascript - require() 在 node.js 中需要相同模块时如何工作

当node.js多次需要一个模块时,它会返回相同的对象,因为require()缓存了之前的调用。假设我有一个可以注册子记录器模块的主记录器模块。(那些实际上是通过主记录器模块log()函数进行记录的。但这里不相关。)我在主记录器模块中有这样的东西来添加一个子模块:module.addRedisLogger=function(rclient){modulesArray.push(require('./redis.js')(rclient,loggingEnabled,module));}当我创建一个redis客户端实例时,我可以像这样立即向它添加一个记录器:varsub=redis.cr

javascript - TypeScript:TypeError b 未定义

当我尝试在TypeScript中创建继承时,会生成以下JavaScript:var__extends=(this&&this.__extends)||function(d,b){for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];function__(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new__());};这看起来和应该生成的一模一样。但问题是在执行时Firefox给出了这个消息:TypeError:bisund

javascript - typescript ,类型对象不是通用的

我正在尝试为一个对象创建一个类型。但似乎无法正确处理。这就是我的。privatetest:Object;this.test={id:'test'};interfaceTest{id:string;}这行不通。这给了我以下错误:TypeObjectIsNotGeneric像这样为对象创建类型的正确方法(语法)是什么? 最佳答案 定义一个类Test:exportclassTest{field1:number;field2:string;///...}然后privatetest:Test;更新:抱歉,没注意到你有Test作为interfa

javascript - TypeScript promise TS2304 TS2529

我有以下代码:functionasyncFunc1():Promise{returnnewPromise(x=>x);}产生了以下错误:TS2304:cannotfindname'Promise'所以我将其更改为显式声明“Promise”:///import*asPromisefrom'bluebird';functionasyncFunc1():Promise{returnnewPromise(x=>x);}现在我收到以下错误:TS2529:Duplicateidentifier'Promise'.Compilerreservesname'Promise'intoplevelscop